public class Estatistica03 extends Estatisticas
{
	public int deltaTAtual = 1;
	public int tempoEstavel = 0;
	public double tamDelta = 100;
	double somatorioDelta = 0;
	double mediaTotal;
	double mediaDelta;
	double tempoInicioDelta = 0;
	public int quantEstavel = 0;
	public double tempoAnterior = 0;
	boolean faseTransienteCalculada = false;

	public void calcFaseTransiente(int quantidadeUsuario, double tempoAtual)
	{
		if (tempoInicioDelta == 0) tempoInicioDelta = tempoAtual;
		if (tempoAtual - tempoInicioDelta < tamDelta)
		{
			somatorioDelta += (tempoAtual - tempoAnterior) * quantidadeUsuario;
		}
		else
		{
			mediaDelta = somatorioDelta / (tempoAtual - tempoInicioDelta);
			mediaTotal = (mediaTotal * (deltaTAtual - 1) + mediaDelta) / deltaTAtual;
			if (Math.abs(mediaDelta - mediaTotal) < 0.001)
			{
				System.out.println("Fim da fase transiente: " + tempoAtual);
				faseTransienteCalculada = true;
			}
			else
			{
				tempoEstavel = 0;
			}
			tempoInicioDelta = 0;
			somatorioDelta = 0;
			deltaTAtual++;
		}

		tempoAnterior = tempoAtual;
	}

	public double calcCdf(double x, Rodada rodadaAtual)
	{
		double quantidade = 0;
		for (Usuario u : rodadaAtual.usuarios)
		{
			if (u.getHoraSeed() != 0 && (u.getHoraSeed() - u.getHoraChegada()) < x)
			{
				quantidade++;
			}
		}
		return quantidade / rodadaAtual.usuariosAtendidos;
	}

}
